The computing industry, over time, has experienced a rapid growth and evolution. Not only have technological advancements led to new models of computing devices, but they have also led to developments in the systems and networks in which the computing devices operate and interact. Each new model of computing device, from mainframes and supercomputers to personal computers and mobile devices, has brought its own share of advantages as well as challenges.
Over the past several decades, computing has been transitioning from distributed systems (e.g. mainframes) to decentralized systems (e.g. personal computers). While the new decentralized, client-oriented model provided enhanced flexibility and convenience to users, it also resulted in inefficient usage of resources and unnecessary additional costs. For example, each personal computer required the processing power and storage capacity necessary for maximum, rather than typical, loads. As a result, the recent trend in computing has been a return to a centralized model where applications and data can be centrally managed, stored, and provisioned for the purpose of reducing costs and improving security and efficiency.
One emerging model, known as “the cloud,” relies on the delivery of computing resources via a computer network. Services provided by the cloud may range from individual applications to the full functionality of an operating system. To facilitate delivery of these cloud services, some systems may rely at least partially on remote access technologies, such as remote desktop protocol (RDP). RDP allows a user to view and control a remotely running desktop or application over a network connection. For security reasons, allowing remote control of remote desktops, applications, and even file systems, in many instances, needs to be limited to authorized users. Authenticating a user may require the use of encryption techniques that rely on private keys.
Therefore, a need exists in the art for allowing the secure exchange of private keys for authenticating a user to an RDP service.